10 .BA 49152 ;PROGRAMMSTART 20 .GL IRQVEC = $0314 ;IRQ-VEKTOR 30 .GL IRQALT = $EA31 ;ALTE IRQ-ROUTINE 40 .GL VIC = $D000 ;BASISADRESSE DES VIC 50 .GL IRQMASK= VIC+26 ;IRQ-MASKENREGISTER 60 .GL IRQFLAG= VIC+25 ;IRQ-REQUESTREGISTER 70 .GL RASTER = VIC+18 ;RASTERZEILENREGISTER 80 .GL BORDER = VIC+32 ;RAHMENFARBE-REGISTER 90 .GL OBEN = 100 ;OBERE RASTERZEILE 100 .GL UNTEN = 200 ;UNTERE RASTERZEILE 110 .GL HIBIT = VIC+17 ;BIT 8 DER RASTERZEILENNUMMER 120 ; 200 INIT SEI;IRQ SPERREN 210 LDA#OBEN;IRQ FUER RASTERZEILE 100 220 STARASTER 230 LDAHIBIT;BIT 8 LOESCHEN 240 AND#127 250 STAHIBIT 260 LDA#129;IRQ MASKIEREN 270 STAIRQMASK;RASTER-IRQ 280 LDA#<(IRQNEU);IRQ-VEKTOR AUF NEUE 290 LDX#>(IRQNEU);IRQ-ROUTINE STELLEN 300 STAIRQVEC 310 STXIRQVEC+1 320 CLI;IRQ WIEDER ZULASSEN 330 RTS;UND ZURUECK... 340 ; 350 DEINIT SEI;IRQ SPERREN 360 LDA#0;ALLE BITS IM MASKEN- 370 STAIRQMASK;REGISTER LOESCHEN 380 LDA#<(IRQALT);VEKTOR AUF ALTE 390 LDX#>(IRQALT);IRQROUTINE STELLEN 400 STAIRQVEC 410 STXIRQVEC+1 420 CLI;IRQ WIEDER ZULASSEN 430 LDA#14;NORMALE RAHMENFARBE 440 STABORDER;EINSTELLEN 450 RTS;UND ZURUECK... 460 ; 470 IRQNEU LDAIRQFLAG;VIC-IRQ-FLAGS LESEN 480 STAIRQFLAG;UND WIEDER SCHREIBEN 490 BMIVICIRQ;WENN BIT 7 GESETZT, DANN VICIRQ 500 JMPIRQALT;SONST ZUR ALTEN IRQ-ROUTINE 510 ; 520 VICIRQ LDARASTER;RASTERZEILENREGISTER LESEN 530 CMP#UNTEN;GROESSER/GLEICH 200 ? 540 BCSOLDCOLOR;JA, DANN ALTE RAMENFARBE 550 ; 560 NEWCOLOR LDA#6;SONST NEUE RAHMENFARBE 570 STABORDER 580 LDA#UNTEN;NAECHSTER IRQ BEI ZEILE 200 590 STARASTER 600 ; 610 IRQRETURN PLA;REGISTER ZURUECKHOLEN 620 TAY 630 PLA 640 TAX 650 PLA 660 RTI;UND MIT RTI ZURUECK... 670 ; 680 OLDCOLOR LDA#14;ALTE RAMENFARBE 690 STABORDER 700 LDA#OBEN;NAECHSTER IRQ BEI ZEILE 100 710 STARASTER 720 JMPIRQRETURN;UND IRQ BEENDEN... 60000 .EN